package com.codeape.number.util;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;

import com.codeape.number.R;

import java.util.ArrayList;

public class Utils {

    public static Context mContext;

    /**
     * 使用SharedPreferences保存建库信息
     */
    public static void saveSharedPreferences(Context context) {

        SharedPreferences mySharedPreferences = context.getSharedPreferences("sign", Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = mySharedPreferences.edit();
        editor.putString("copydb", "true");
        editor.apply();
    }

    /**
     * 使用SharedPreferences读取建库信息
     */
    public static String readSharedPreferences(Context context) {
        mContext = context;
        SharedPreferences sharedPreferences = context.getSharedPreferences("sign", Activity.MODE_PRIVATE);
        return sharedPreferences.getString("copydb", "");
    }

    /**
     * 使用SharedPreferences读取信息
     *
     * @param context Context
     * @param xmlName 文件名 e
     * @param Key     键
     * @return name 键值
     */
    public static String readSharedPreferences(Context context, String xmlName, String Key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(xmlName, 0);
        String name = sharedPreferences.getString(Key, "");
        if (name.equals("")) {
            return "null";
        } else {
            return name.toString();
        }

    }

    /**
     * 计算结果
     *
     * @param str1 第一个三位数
     * @param str2 第二个三位数
     * @param str3 第三个三位数
     * @return String 第一个三位数除8取余+第二个三位数除8取余+第三个三位数除6取余
     */
    public static String Calculate(String str1, String str2, String str3) {

        ArrayList<String> zz = new ArrayList<>();
        ArrayList<String> yy = new ArrayList<>();

        zz.add(str1);
        zz.add(str2);
        zz.add(str3);

        for (int i = 0; i < zz.size(); i++) {
            int y = Integer.parseInt((zz.get(i)));
            if (i == 2) {
                if (y % 6 == 0) {
                    y = 6;
                } else {
                    y = y % 6;
                }
            } else {
                if (y % 8 == 0) {
                    y = 8;
                } else {
                    y = y % 8;
                }
            }
            yy.add(String.valueOf(y));
        }
        StringBuilder ss = new StringBuilder();
        for (int i = 0; i < yy.size(); i++) {
            ss.append(yy.get(i));
        }

        //保存卦代码和爻代码，修改解卦页面底部tab图案用
        SharedPreferences mySharedPreferences = mContext.getSharedPreferences("Config", 0);
        SharedPreferences.Editor editor = mySharedPreferences.edit();
        editor.putString("gua", String.valueOf(yy.get(1)));
        editor.putString("yao", String.valueOf(yy.get(0)));
        editor.apply();

        return ss.toString();
    }

    public static int AssemblyGua(int shuzi) {

        return shuzi % 10 * 10 + shuzi / 10;
    }

    /**
     * 在包名中，data目录下创建文件夹
     *
     * @param DirName 文件夹名
     * @param Mode    创建模式
     *                比如MODE_PRIVATE 私有
     */
    public static void createDir(String DirName, int Mode, Context context) {

        context.getDir(DirName, Mode);

    }

    /**
     * 判断卦类型
     */
    public static int judgeGuaType(int type) {
        int guaType = 0;
        switch (type) {
            case 1:
                guaType = R.mipmap.ic_g_qian;
                break;
            case 2:
                guaType = R.mipmap.ic_g_dui;
                break;
            case 3:
                guaType = R.mipmap.ic_g_li;
                break;
            case 4:
                guaType = R.mipmap.ic_g_zhen;
                break;
            case 5:
                guaType = R.mipmap.ic_g_xun;
                break;
            case 6:
                guaType = R.mipmap.ic_g_kan;
                break;
            case 7:
                guaType = R.mipmap.ic_g_gen;
                break;
            case 8:
                guaType = R.mipmap.ic_g_kun;
                break;
        }

        return guaType;
    }

}